﻿/**
 * @author Shea Frederick
 */

Ext.namespace('Ext.ux');
 
/**
 *
 * @class MMapPanel
 * @extends Ext.Panel
 */
Ext.ux.MMapPanel = Ext.extend(Ext.Panel, {
    initComponent: function() {
        var defConfig = {
            plain: true,
            zoomLevel: 3,
            yaw: 180,
            pitch: 0,
            mmapType: 'map',
            border: false
        }
        Ext.applyIf(this, defConfig);
        Ext.ux.MMapPanel.superclass.initComponent.call(this);

    },
    afterRender: function() {

        var wh = this.ownerCt.getSize();
        Ext.applyIf(this, wh);

        Ext.ux.MMapPanel.superclass.afterRender.call(this);

        if (this.mmapType === 'map') {

            var mapoption = new MMapOptions();

            mapoption.toolbar = MConstants.ROUND; //设置地图初始化工具条，ROUND:新版圆工具条 

            mapoption.toolbarPos = new MPoint(15, 15); //设置工具条在地图上的显示位置 

            mapoption.overviewMap = MConstants.SHOW; //设置鹰眼地图的状态，SHOW:显示，HIDE:隐藏（默认） 

            mapoption.scale = MConstants.SHOW; //设置地图初始化比例尺状态，SHOW:显示（默认），HIDE:隐藏。 

            mapoption.zoom = 13; //要加载的地图的缩放级别 

            mapoption.center = new MLngLat(116.397428, 39.90923); //要加载的地图的中心点经纬度坐标 

            mapoption.language = MConstants.MAP_CN; //设置地图类型，MAP_CN:中文地图（默认），MAP_EN:英文地图 

            mapoption.fullScreenButton = MConstants.SHOW; //设置是否显示全屏按钮，SHOW:显示（默认），HIDE:隐藏 

            mapoption.centerCross = MConstants.SHOW; //设置是否在地图上显示中心十字,SHOW:显示（默认），HIDE:隐藏 

            mapoption.requestNum = 100; //设置地图切片请求并发数。默认100。 

            mapoption.isQuickInit = true; //设置是否快速显示地图，true显示，false不显示。

            this.mmap = new MMap(this.body.dom.id, mapoption); //地图初始 
        }
    },
    onResize: function(w, h) {
        Ext.ux.MMapPanel.superclass.onResize.call(this, w, h);
    },
    setSize: function(width, height, animate) {
        Ext.ux.MMapPanel.superclass.setSize.call(this, width, height, animate);
    },
    getMap: function() {
        return this.mmap;
    }
});

Ext.reg('MMapPanel',Ext.ux.MMapPanel);